const { h } = window.Vue

// 如果用户不自己定义 props选项，那么传递的参数 被当成是jsx渲染出来的元素的属性去使用
// const MyTitle = {
//   setup () {
//     return () => {
//       return h('h2', {}, 'hello world') // <h2 msg="您好">hello world</H2>
//     }
//   }
// }

// 如果用户自己定义 props选项，那么传递的参数 被当成是jsx渲染出来的元素的 显示的内容，不出现在属性中
// const MyTitle = {
//   props: ['msg'],
//   setup () {
//     return () => {
//       return h('h2', {}, 'hello world') // <h2>hello world</H2>
//     }
//   }
// }

// 如果用户不自己定义 props选项， 且在jsx语法中使用了同名的 属性，传递过来的参数的优先级更高 
// const MyTitle = {
//   setup () {
//     return () => {
//       return h('h2', { msg: '1212' }, 'hello world') // <h2 msg="您好">hello world</H2>
//     }
//   }
// }

// 如果用户自己定义 props选项， 且在jsx语法中使用了同名的 属性，自定义的同名属性的优先级更高 
const MyTitle = {
  props: ['msg'],
  setup () {
    return () => {
      return h('h2', { msg: '1212' }, 'hello world') // <h2 msg="1212">hello world</H2>
    }
  }
}

export default MyTitle